* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: sans-serif;
}
ul li {
  list-style: none;
}
body {
  display: grid;
  place-items: center;
  height: 100vh;
  background-color: #232c33;
}

nav {
  position: relative;
  width: 60px;
  height: 500px;
  background-color: #2b343b;
  box-shadow: 10px 0 0 #4187f6;
  overflow: hidden;
  transition: width 0.5s;
  display: grid;
  place-items: center;
  ul {
    position: relative;
    z-index: 1;
    width: 100%;
    margin-left: 10px;
    li {
      position: relative;
      cursor: pointer;
      height: 60px;
      color: #fff;
      white-space: nowrap;
      border-top-left-radius: 20px;
      border-bottom-left-radius: 20px;
      span {
        display: inline-block;
        text-align: center;
        pointer-events: none;
      }
      .icon {
        line-height: 60px;
        min-width: 60px;
        font-size: 1.5rem;
        vertical-align: middle;
      }
      .title {
        line-height: 60px;
        white-space: nowrap;
      }
    }
    // .active {
    //   background-color: #4187f6;
    //   &::after {
    //     content: '';
    //     position: absolute;
    //     top: -30px;
    //     right: 0;
    //     height: 30px;
    //     width: 30px;
    //     box-shadow: 15px 15px 0 #4187f6;
    //     border-radius: 50%;
    //   }
    //   &::before {
    //     content: '';
    //     position: absolute;
    //     bottom: -30px;
    //     right: 0;
    //     height: 30px;
    //     width: 30px;
    //     box-shadow: 15px -15px 0 #4187f6;
    //     border-radius: 50%;
    //   }
    // }
  }
  &:hover {
    width: 300px;
  }
  .slider {
    z-index: 0;
    transition: all cubic-bezier(0.075, 0.82, 0.165, 1) 500ms;
    border-top-left-radius: 20px;
    border-bottom-left-radius: 20px;
    height: 60px;
    width: 100%;
    position: absolute;
    background-color: #4187f6;
    &::after {
      content: '';
      position: absolute;
      top: -30px;
      right: 0;
      height: 30px;
      width: 30px;
      box-shadow: 15px 15px 0 #4187f6;
      border-radius: 50%;
    }
    &::before {
      content: '';
      position: absolute;
      bottom: -30px;
      right: 0;
      height: 30px;
      width: 30px;
      box-shadow: 15px -15px 0 #4187f6;
      border-radius: 50%;
    }
  }
}
